/* 
  
  CommonJS是一种规范,Node对他进行了支持与实现

  在Node中一个文件就是一个模块

  Node中实现CommonJS本质上是对象的引用赋值

  module.exports 和 exports 的 区别和关系
    1. 一个js文件(模块)就是 一个Module实例 
    2. 本质上是module.exports 在 做导出(只是Node做了处理)
      module.exports = exports ; 所以如果我们使用了(即module.exports已经不再引用exports了)module.exports = xx做导出实际上已经切除了exports的引用了
    3. CommonJs规范要求有一个exports作为导出(所以才会有的)
    4. 赋值操作在最顶层(module.exports = exports)



  require细节(是一个函数)
    1. 查找规则 require(X)
      1. 
      2. 
  

  CommonJS加载是同步的(模块只会被加载一次)
*/



let a = 1
setTimeout(()=>{
  a = 2
},1000)
module.exports = {
  a
}